package com.yunzhong.appointment.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;

import com.yunzhong.appointment.entity.Professional;
import com.yunzhong.appointment.util.PageData;

public interface ProfessionalMapper {
    int deleteByPrimaryKey(String professionalId);

    int insert(Professional record);

    int insertSelective(Professional record);

    Professional selectByPrimaryKey(String professionalId);

    int updateByPrimaryKeySelective(Professional record);

    int updateByPrimaryKey(Professional record);

    /**
	 * @description 根据部门主键查询职务
	 * @author 石洪刚
	 * @time 2017年9月12日11:32:45
	 * @param departmentId
	 * @return
	 */
	@Select("select professional_id,professional_name,professional_fee from professional where dp_id = #{departmentId}")
	@ResultMap("BaseResultMap")
	List<Professional> listProfessionalByDeptId(String departmentId);
	/**
	 * 
	 * @methodName deleteByDpId
	 * @description 根据科室主键删除职称
	 * @author 石洪刚
	 * @time 2017年11月14日 下午9:58:47
	 * @param id
	 */
	@Delete("delete from professional where dp_id=#{id}")
	void deleteByDpId(String id);
	/**
	 * 
	 * @methodName listProfessional
	 * @description 查询职务
	 * @author 石洪刚
	 * @time 2017年11月15日 下午2:18:30
	 * @param pd
	 * @return
	 */
	List<Professional> listProfessional(PageData pd);
	/**
	 * 
	 * @methodName getProfessionalByDpIdAndProName
	 * @description 根据职务名称和所属部门查询职务
	 * @author 石洪刚
	 * @time 2017年11月15日 下午2:26:47
	 * @param m
	 * @return
	 */
	@Select("select professional_id,professional_name from professional where dp_id = #{dpId} and professional_name = #{proName}")
	@ResultMap("BaseResultMap")
	Professional getProfessionalByDpIdAndProName(Map m);
}